Git is an open source distributed
version control system. That itself might not make a lot of sense
to you right now. Let's break it down into
some smaller parts. Let's say you're working
on building a website. After a while, you decide that the website
is ready to be deployed. Your deployed website is now
available on your domain, and anyone on the
Internet can visit it. On your own computer, you have a local version
of that deployed website. After a while, you want to make some updates
to the website. You change the
background image and add a better subtitle to
the landing page. It's not ready to be
deployed yet, though. It's just some draft
changes that still need some other things
before you actually want to deploy the
updated version. Suddenly, your friend
texts you saying that he spotted a
typo on your website. In the navigation bar, the about button is spelled
with two Bs instead of one. You quickly want to change
it to make sure that there are no typos on the
deployed website. But wait a second, we change the background
image and edit a subtitle, which we don't want
to deploy yet. We can't update the contents of the deployed website
without overriding all the changes that
we've just made locally. In this case, Git
can help you out. Git is a content tracker. It stores all our code changes, and it's also a distributed
version control system. A version control
system basically means that we can
go back in time and work with a different version of our code base since Git stored at all and
work with branches, which will be covered later on. Distributed means that it has a remote repository which
is stored in a server and a local repository
which is stored on the computer of every developer
working on a project. Every developer has access to the full copy of the code base. Git is a version control system. We can basically go back in time without losing
any new changes. When we've made changes, we can save the current
state of the website. This way, you always have
all your versions stored, which makes it super
easy to go back in time. You have access to your
entire projects history. The changes you made, who made the changes, if you're working
on a project with multiple team members
and when it was made. Git can help us out to fix the button bug for
the deployed website. Currently, we have two
versions of the website, the deployed landing page and the updated
landing page that contains our local changes to the background
image and subtitle. We want to go back in time to the state of the website
when we deployed it. With Git, we can
go back in time to that state of the
deployed website without losing our new changes. We can quickly fix
the button typo on the deployed website without
losing any of our work. After fixing the button and deploying the updated website, we can easily switch
back to keep on working on our new
local changes.